let gzdy_sb = null

$NG.AllReady(function (
    editPage,
    { useAction, useValuesChange, useDataIndexChange, useClick }
) {
    const headerTable = $NG.getCmpApi("p_form_cnt_visa")
    const dgri1 = $NG.getCmpApi("p_form_cnt_visa_d1")
    const dgri2 = $NG.getCmpApi("p_form_cnt_visa_d2")
    //监听项目的选择
    useValuesChange(({args})=>{
        console.log(`监听项目选择`,args);
        rectCntInfo()
        getCntInfo()
        getSbqdInfo()
    }, "p_form_cnt_visa.phid_pc")

    useValuesChange(({args})=>{
        console.log(`合同信息监听`,args);
        $NG.updateState((updater)=>{
            updater.data.p_form_cnt_visa.setProps({
                u_cnt:args[0].u_cnt_name.origin.bill_no
            })
        })
        getGzdyGjInfo()
    },"p_form_cnt_visa.u_cnt_name")
    useUpdateChange(({args})=>{
        
    }, "p_form_cnt_visa_d1")
    //项目名称变化时自动带入产品线、事业部
    useValuesChange(({ args }) => {
        console.log(args[0]);
        //const phid_pc = args[0].pc.PhId;
        const cnt = args[0].u_cnt.value;
        //从项目取值
        if (cnt) {
            //从项目取值
            $NG.execServer("getCntInfo", { cnt: cnt }, function (res) {
                const data = JSON.parse(res.data);
                // 自动带出服务与工程合同名称
                const mc = data[0].extendObjects.bill_name;
                console.log(`选择项目自动出来名称 bill_name`,mc);
                $NG.updateState((updater) => {
                    updater.data.p_form_cnt_visa.setProps({
                        u_cnt_name: mc
                    });
                });
            });
        }
    }, "p_form_cnt_visa.u_cnt");

        //合同信息复位
        function rectCntInfo(){
            $NG.updateState((updater)=>{
                updater.data.p_form_cnt_visa.setProps({
                    u_cnt_name:"",
                    u_cnt:""
                })
            })
        }
    getCntInfo()
    // 获取合同信息
    function getCntInfo(){
        console.log(`项目id`,headerTable.getItem("phid_pc").getValue());
        if(!headerTable.getItem("phid_pc").getValue()) return 
        $NG.updateUI((updater, state) => {
            console.log('过滤参数检查', updater);
            updater.form.p_form_cnt_visa.u_cnt_name.setProps({
                onBeforeOpen: async () => {
                    var phid_pc = $NG.getCmpApi('p_form_cnt_visa').getItem('phid_pc').getValue();
                    if (!phid_pc) {
                        $NG.alert("请先选择项目");
                        return false;
                    } else {
                        return true;
                    }
                },
                ...(!!headerTable.getItem("phid_pc").getValue() && {
                    clientSqlFilter: {
                        bill_type: 4,//合同类型
                        phid_pc: headerTable.getItem("phid_pc").getValue()
                    }
                }),
            });
        });
    }
    // 获取工作单元分包商挂接
	function getGzdyGjInfo() {
        dgri1.clearRows()
        let _arr = []
        let _key = []
		$NG.execServer(
			"getGzdyGjInfo",
			{
				cnt: headerTable.getItem("u_cnt_name").getValue(),
				phid_pc: headerTable.getItem("phid_pc").getValue(),
			},
			function (res) {
                console.log(`获取工作单元挂接数据`,res);
                if(res.count == 0) return
                const _data = JSON.parse(res.data)
                console.log(`获取JSON`,_data);
                _data.forEach(item=>{
                    const data = item.extendObjects
                    _key=null
                    _key=[]
                    _arr.push({
                        //工作编码
                        u_unit_no:data.gzdy_no,
                        u_unit_name:data.gzdy_name,
                        u_unit_fbdw:data.wbgys_phid,
                        u_unit_fbdw_EXName:data.wbgys_name,
                        u_unit_bgh_fbdw:data.wbgys_phid,
                        u_unit_bgh_fbdw_EXName:data.wbgys_name,
                        u_unit_lx:data.gzdy_type
                    })
                    _key.push(data.gzdy_no)
                })
                _key = Array.from(new Set(_key))
                // 表体2 
                let _arr_d2 = []
                _key.forEach(item=>{
                    gzdy_sb.forEach(it=>{
                        if(it.u_gzdy_code == item){
                            _arr_d2.push({
                                u_equipment_list_no:it.u_equipment_list_no,
                                u_equipment_list_name:it.u_sbqd_name,
                                u_spec:it.u_xh,
                                u_cnt_qty:it.u_qty,
                                u_cnt_bgq_qty:it.u_qty,
                                u_cnt_bgh_qty:it.u_qty,
                                u_cnt_prc:it.u_cnt_prc
                            })
                        }
                    })
                })
                dgri2.addRows(_arr_d2)
                dgri1.addRows(_arr)
            }
		);
	}
    // 获取设备清单信息
    function getSbqdInfo(){
        $NG.execServer("getSbqdInfo", {},function(res){
            console.log(`获取设备清单数据`,res);
            if(res.count==0) return
            const _data = JSON.parse(res.data)
            console.log(`JSON解析数据`, _data );
            gzdy_sb = null
            gzdy_sb = []
            _data.forEach(item=>{
                gzdy_sb.push(item.extendObjects)
            })
        })
    }
});
